#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2024/12/30 19:35
# @Author : George
import asyncio
from threading import currentThread

"""
===========================python3.7 之后提供的用法====================
"""


# 不需要自己创建事件循环，自动创建事件循环，将协程对象添加到事件循环里面

"""
await 后面只能跟着一种对象，可等待对象(协程对象，task对象，future对象)
"""

async def f1():
    print("f1 开始执行", currentThread())
    await asyncio.sleep(2)
    print("f1 结束执行", currentThread())


async def f2():
    print("f2 开始执行", currentThread())
    data = await asyncio.sleep(2)  # 等待后面的任务执行有结果了再往后执行
    print(data)
    print("f2 结束执行", currentThread())


# loop = asyncio.get_event_loop()  # 产生/获取 事件循环
# loop.run_until_complete(asyncio.wait([f1(), f2()]))  # 这里面传递的就是协程对象

asyncio.run(asyncio.wait([f1(),f2()]))